home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 08 - 1992 / 08.07 Nov⁄Dec 92 / MacsBug Template Use / project.r < prev   
Encoding:
Text File  |  1992-07-10  |  4.4 KB  |  131 lines  |  [TEXT/MPS ]

  1. // project.r -- Rez-formatted structure definitions for test project
  2. // Copyright ©1992, David T. Roach, All Rights Reserved
  3. // 
  4. // To build these resources and 
  5. // modify your debugger prefs file directly, use 
  6. // an MPW command line something like this:
  7. // 
  8. // rez -o 'MacHD:System Folder:Debugger Prefs' -t rsrc -c RSED -a -p MacHD:MyProject:params.r
  9. // 
  10. // or use the commando interface to invoke rez by typing:
  11. // 
  12. // rez…
  13. // 
  14. // or use the SARez (included with ThinkC 5) which is a standalone version of Rez
  15. // 
  16.  
  17. // INCLUDE the following four structures in any .r file using this technique
  18.  
  19.  
  20. // These are ResEdit templates which allow you to edit 'mxbm' and 'mxwt' resources
  21. // directly from ResEdit. If you only plan to use Rez or SARez for modifying Debugger
  22. // Prefs, then these are optional. Each creates a 'TMPL' resource which is inserted
  23. // into the Debugger Prefs file.
  24.  
  25. data 'TMPL' (1000, "mxbm") {
  26.     $"104E 756D 6265 7220 6F66 206D 6163 726F 734F 434E 5405 2A2A"                /* .Number of macrosOCNT.** */
  27.     $"2A2A 2A4C 5354 430A 4D61 6372 6F20 6E61 6D65 5053 5452 0945"                /* ***LSTC.Macro namePSTRΔE */
  28.     $"7870 616E 7369 6F6E 5053 5452 052A 2A2A 2A2A 4C53 5445"                     /* xpansionPSTR.*****LSTE */
  29. };
  30.  
  31. data 'TMPL' (1001, "mxwt") {
  32.     $"134E 756D 6265 7220 6F66 2074 656D 706C 6174 6573 4F43 4E54"                /* .Number of templatesOCNT */
  33.     $"052A 2A2A 2A2A 4C53 5443 0D54 656D 706C 6174 6520 6E61 6D65"                /* .*****LSTC¬Template name */
  34.     $"5053 5452 0A4E 756D 2066 6965 6C64 734F 434E 5405 2D2D 2D2D"                /* PSTR.Num fieldsOCNT.---- */
  35.     $"2D4C 5354 430A 4669 656C 6420 6E61 6D65 5053 5452 0954 7970"                /* -LSTC.Field namePSTRΔTyp */
  36.     $"6520 6E61 6D65 5053 5452 0543 6F75 6E74 4457 5244 052D 2D2D"                /* e namePSTR.CountDWRD.--- */
  37.     $"2D2D 4C53 5445 052A 2A2A 2A2A 4C53 5445"                                    /* --LSTE.*****LSTE */
  38. };
  39.  
  40. //  'mxwt' is a newer resource type for Macsbug 
  41. //     templates which uses a word count for 
  42. //  the number of fields in a type. The older 
  43. // 'mxbt' type used a byte count. 'mxbt' is still 
  44. //     supported by Macsbug, but not by ResEdit
  45.  
  46. // this is the Rez template for MacsBug 'mxwt' templates
  47. // it provides a definition of the 'mxwt' resource which Rez uses
  48. // when compiling your text file. This does not create a corresponding 
  49. // resource in the Debugger Prefs file
  50.  
  51. type 'mxwt'{
  52.     integer = $$CountOf(templates);                    
  53.             /* Number of templates               */
  54.     array templates { pString;                        
  55.             /* Type name                         */
  56.                       integer = $$CountOf(fields);  /* Number of fields in this template */
  57.                       array fields { pString;        /* Field name                        */
  58.                                      pString;       /* Field type                        */
  59.                                      integer;        /* Number of fields of this type     */
  60.                                    };
  61.                     };
  62. };
  63.  
  64.  
  65. // this is the Rez template for MacsBug 'mxbm' macros.
  66. // it provides a definition of the 'mxbm' resource which Rez uses
  67. // when compiling your text file. This does not create a corresponding 
  68. // resource in the Debugger Prefs file
  69.  
  70. type 'mxbm'{
  71.     integer = $$CountOf(symbols);          /* Number of entries     */
  72.     array symbols { pString; pString; };   /* Macro name; expansion */
  73. };
  74.  
  75.  
  76. // PROJECT SPECIFIC DEFINES
  77.  
  78. #define     ArraySize1        3
  79. #define     ArraySize2        2
  80.  
  81. // PROJECT SPECIFIC STRUCTURES
  82.  
  83. resource 'mxwt' (10000, "myProject") {
  84.     {    
  85.         "AnotherStruct",    
  86.         {
  87.             "  m             ", "Word",    ArraySize2,
  88.         };
  89.         
  90.         
  91.         "OtherStruct",    
  92.         {
  93.             "  a             ", "Boolean",        1,
  94.             "  b             ", "Byte",            1,
  95.             "  c             ", "Word",            1,
  96.             "  d             ", "Long",            1,
  97.             "  e             ", "pString",        256,
  98.             "  f             ", "AnotherStruct",1,
  99.         };
  100.  
  101.         "OtherStructPtr",    
  102.         {
  103.             "  o             ", "^OtherStruct",    1,
  104.         };
  105.         
  106.  
  107.         "GlobStruct",    
  108.         {
  109.             "  id1           ", "Text",            4,
  110.             "  long_hex      ", "Long",            1,
  111.             "  long_unsigned ", "UnsignedLong",    1,
  112.             "  long_signed   ", "SignedLong",    1,
  113.             "  short_hex     ", "Word",            1,
  114.             "  short_unsigned", "UnsignedWord",    1,
  115.             "  short_signed  ", "SignedWord",    1,
  116.             "  byte_hex      ", "Byte",            1,
  117.             "  bool          ", "Boolean",        1,
  118.             "  other         ", "OtherStructPtr",    ArraySize1,
  119.             "  id2           ", "Text",            4,
  120.         };
  121.     }
  122. };
  123.         
  124. resource 'mxbm' (10000, "project specific commands") {
  125.     {    
  126.         "dump",    "printf'Here it is:';dm GlobPtr ^GlobStruct",        // use the minRec type we defined above
  127.     }
  128. };
  129.  
  130.  
  131.